In personal computers of recent years, a multi-core system is used where a memory or a cache is shared among a plurality of operating devices. This makes it possible to efficiently use memory resource since a memory or a cache can be accessed by a plurality of cores. In the multi-core system, a plurality of programs operate in the same address space, and thus the address space has to be appropriately protected.